package com.sg.service.base.app;

import com.sg.dto.base.app.req.*;
import com.sg.entity.OmsTargetObjective;

import java.util.List;

/**
 * @author ：
 * @version 1.0
 * @date ：
 */
public interface MOmsTargetObjectiveService {
    /**
     * 3-3-03批量查下一级指标列表
     */
    List<OmsTargetObjective> batchQueryNextLevelTargetObj(BatchQueryNextLevelTargetObjReq reqDto);

    /**
     * 3-3-03批量删指标
     */
    boolean batchDeleteTargetObj(List<String> reqDto);

    /**
     * 3-3-03修改指标
     */
    boolean updateTargetObj(OmsTargetObjective omsTargetObjective);

    /**
     * 3-3-03删除指标
     */
    boolean deleteTargetObj(String objectiveId);

    /**
     * 3-3-03查指标详情
     */
    OmsTargetObjective queryTargetObjDetail(QueryTargetObjDetailReq reqDto);

    /**
     * 3-3-03查指标列表
     */
    List<OmsTargetObjective> queryTargetObjList(QueryTargetObjListReq reqDto);

    /**
     * 3-3-03新增指标
     */
    String addTargetObj(OmsTargetObjective omsTargetObjective);

    /**
     * 3-3-03批量查指标列表
     */
    List<OmsTargetObjective> batchQueryTargetObjList(BatchQueryTargetObjListReq reqDto);

    /**
     * 3-3-03批量改指标
     */
    boolean batchUpdateTargetObj(List<OmsTargetObjective> omsTargetObjective);

    /**
     * 111113-3-03批量查指标标识匹配指标
     */
    List<OmsTargetObjective> batchQueryCodeMatchTargetObj(BatchQueryCodeMatchTargetObjReq reqDto);

    /**
     * 3-3-03查询指标公共详情
     */
    OmsTargetObjective queryComTargetObjDetail(QueryComTargetObjDetailReq reqDto);

    /**
     * 3查询指标责任主体列表
     */
    List<OmsTargetObjective> queryTargetObjDutyBodyList();

    /**
     * 11111查询中层指标分工管理判断
     */
    OmsTargetObjective queryMidTargetObjDivMgtSituationDetail();

    /**
     * M3-3-03-构造指标验证数据
     */
    String buildSingleTargetObjective(OmsTargetObjective omsTargetObjective);

    /**
     * M3-3-03修改单条指标
     */
    boolean updateSingleTargetObjective(OmsTargetObjective omsTargetObjective);

    /**
     * M3-查询多条指标列表
     */
    List<OmsTargetObjective> queryMultiTargetObjList(QueryMultiTargetObjListReq reqDto);

    /**
     * M3-批量删多条指标
     */
    boolean batchDeleteMultiTargetObj(List<String> reqDto);

    /**
     * M3-查询单条指标详情
     */
    OmsTargetObjective querySingleTargetObjectiveDetail(QuerySingleTargetObjectiveDetailReq reqDto);

    /**
     * M3-3-03删除单条指标
     */
    boolean deleteSingleTargetObjective(String objectiveId);

    /**
     * M3执行多条指标【循环开始】
     */
    OmsTargetObjective implementMultiTargetObjLoopStart(ImplementMultiTargetObjLoopStartReq reqDto);

    /**
     * 3-3-03查询一级指标列表
     */
    List<OmsTargetObjective> queryFirstTargetObjList(QueryFirstTargetObjListReq reqDto);

    /**
     * 3-3-03批量查询指标列表By指标模板Ids
     */
    List<OmsTargetObjective> batchQueryTargetObjListByIds(BatchQueryTargetObjListByIdsReq reqDto);

    /**
     * 页面元素-查询安排的指标详情(管理)
     */
    String queryArrangeTgetObjDetail(OmsTargetObjective omsTargetObjective);

    /**
     * 页面元素-查询购物车责任主体指标列表(管理)
     */
    String queryTargetObjBodyList(OmsTargetObjective omsTargetObjective);

    /**
     * 页面元素-批量增指标单/不规则被评对象目标周期(管理)
     */
    String batchAddTargebjEvaObjTargetCycle(OmsTargetObjective omsTargetObjective);

    /**
     * M3执行指标测试【循环开始】
     */
    OmsTargetObjective implementTargetTestDataLoopStart(ImplementTargetTestDataLoopStartReq reqDto);

    /**
     * 3-3-03查询指标列表BY标识列表
     */
    List<OmsTargetObjective> queryTargetObjByCodeList(QueryTargetObjByCodeListReq reqDto);

    /**
     * 3-3-03批量查询层级排序指标列表
     */
    List<OmsTargetObjective> batchQueryTargetObjLevel(BatchQueryTargetObjLevelReq reqDto);

    /**
     * 3-3-06批量查询下一级指标列表By归属父级指标Id
     */
    List<OmsTargetObjective> batchQueryNextLevelTargetObjListByIds(BatchQueryNextLevelTargetObjListByIdsReq reqDto);

    /**
     * 3-3-03批量查询多层级指标列表ByIds
     */
    List<OmsTargetObjective> batchQueryManyTierTargetObjListByIds(BatchQueryManyTierTargetObjListByIdsReq reqDto);

    /**
     * 3-3-03查询无约束指标详情
     */
    OmsTargetObjective queryUnrestraintObjtiveDetail(QueryUnrestraintObjtiveDetailReq reqDto);

    /**
     * M3批量查询多条指标测试
     */
    List<OmsTargetObjective> batchQueryMultiTargetObjTestData(BatchQueryMultiTargetObjTestDataReq reqDto);

    /**
     * M3查询多条指标测试列表
     */
    List<OmsTargetObjective> queryMultiTargetObjTestDataList(QueryMultiTargetObjTestDataListReq reqDto);

    /**
     * 3-3-03批量查询责任主体指标排序列表
     */
    List<OmsTargetObjective> batchQueryDutyBodyTargetObjectiveOrderNumList(BatchQueryDutyBodyTargetObjectiveOrderNumListReq reqDto);

    /**
     * 3-3-03批量改责任主体指标排序
     */
    boolean batchUpdateDutyBodyTargetObjectiveOrderNum(List<OmsTargetObjective> omsTargetObjective);

    /**
     * 3-3-03批量查询评价模板下指标
     */
    List<OmsTargetObjective> batchQueryEvaTempObjective(BatchQueryEvaTempObjectiveReq reqDto);

    /**
     * 3-3-03查询评价模板指标列表
     */
    List<OmsTargetObjective> queryEvaTempObjList(QueryEvaTempObjListReq reqDto);

    /**
     * 3-3-03查询指标详情
     */
    OmsTargetObjective queryTargetObjectiveDetail(QueryTargetObjectiveDetailReq reqDto);

    /**
     * 3-3-03查询无约束指标列表
     */
    List<OmsTargetObjective> queryUnrestraintObjtiveList(QueryUnrestraintObjtiveListReq reqDto);
    //
}
